home *** CD-ROM | disk | FTP | other *** search
/ Practical Algorithms for Image Analysis / Practical Algorithms for Image Analysis.iso / CH_5.7 / XSGLL / XSGLL.H < prev    next >
C/C++ Source or Header  |  1999-09-11  |  3KB  |  72 lines

  1. /* 
  2.  * xsgll.h
  3.  * 
  4.  * Practical Algorithms for Image Analysis
  5.  * 
  6.  * Copyright (c) 1997, 1998, 1999 MLMSoftwareGroup, LLC
  7.  */
  8.  
  9. #ifndef _XSGLL_H_
  10. #define    _XSGLL_H_
  11.  
  12. #include <stdio.h>
  13. #include <stdlib.h>
  14. #include <string.h>
  15. #include <stdarg.h>
  16. #include <malloc.h>
  17. #include <math.h>
  18.  
  19. #include "ip.h"
  20.  
  21. /* function prototypes */
  22.  
  23. /* in xsgll.c */
  24. extern void init_sall (struct linklist *segm_adj_list);
  25. extern void init_sgll (struct linklist *segm_group_list);
  26. extern int rm_llistlink (struct linklist *list);
  27. extern void tshow_segm_list (struct linklist *list, int index);
  28. extern void show_segm_list (struct linklist *list, int index);
  29. extern float fslope (struct spoint pt1, struct spoint pt2);
  30. extern void get_record_size (FILE * file, int *n_segm, int *xmax, int *ymax);
  31. extern void init_segm (FILE * fp, int n_segm, struct Segm *segm);
  32. extern void gprintf (FILE * fpOut, char *fmt,...);
  33. extern void exitmess (char *prompt, int status);
  34. extern void usage (char *progname);
  35. extern void main (int argc, char *argv[]);
  36. /* in sgl_to_p.c */
  37. extern Boolean swap_pts (struct spoint *pt1, struct spoint *pt2);
  38. extern double construct_va (struct Segm *segm, struct linklist *list,
  39.                             int *nva, struct spoint *va);
  40. /* in sgll.c */
  41. extern Boolean check_sal_stat (Boolean * ActiveSegm, struct linklist *cccsall);
  42. extern struct Segmtype *fetch_segm (struct linklist *csall, int sgl_ind);
  43. extern int cmpSegmdist (struct Segmtype *oldSegm, struct Segmtype *newSegm);
  44. extern Boolean cmpdij (struct Segmtype *newSegm,
  45.                        int sign_dij, struct linklist *sall);
  46. extern float fetch_pki (struct linklist *csall, int sgl_ind);
  47. extern void llexpand (struct Segmtype *Segm, struct linklist *list);
  48. extern int construct_sgll (struct Segm *segm, struct linklist *sall,
  49.                      struct linklist *sgll, int n_segm, double ovlp_thresh);
  50. /* in llpar1.c */
  51. extern int parallelpar (struct spoint ptO1, struct spoint ptF1, struct spoint ptO2,
  52.                         struct spoint ptF2, double *dist, double *overlap);
  53. /* in prlpar.c */
  54. extern void prlpar (struct spoint ptO1, struct spoint ptF1, struct spoint ptO2,
  55.                     struct spoint ptF2, double *dist12, double *dist21,
  56.                     double *overlap12, double *overlap21);
  57. /* in sall.c */
  58. extern int cmpSegmpji (struct Segmtype *oldSegm, struct Segmtype *newSegm);
  59. extern Boolean cmppji (struct Segmtype *newSegm, struct linklist *sall);
  60. extern float fslope (struct spoint pt1, struct spoint pt2);
  61. extern void show_segment (int index, struct Segm *segm, struct Segmtype *rSegm);
  62. extern struct Segmtype *init_node (struct linklist *list, int index,
  63.                                    struct Segmtype *cSegm);
  64. extern int construct_sall (struct linklist *sall, struct Segm *segm,
  65.                            int n_segm, double angl_thresh,
  66.                            double ovlp_thresh, double d_max);
  67. /* in testsegm.c */
  68. extern void init_testsegm (struct Segm *testsegm, int n_segm);
  69.  
  70. #endif
  71. /*_XSGLL_H_ */
  72.